package com.smart.community.feign.payment;

import com.smart.community.commons.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 支付服务Feign接口
 * 
 * @author Wu.Liang
 */
@FeignClient(
    name = "smart-community-payment",
    fallback = PaymentFeignClientFallback.class
)
public interface PaymentFeignClient {
    
    /**
     * 获取支付状态
     * 
     * @param paymentId 支付ID
     * @return 支付状态
     */
    @GetMapping("/payment/status/{paymentId}")
    Result<?> getPaymentStatus(@PathVariable("paymentId") Long paymentId);
    
    /**
     * 获取支付记录
     * 
     * @param userId 用户ID
     * @return 支付记录
     */
    @GetMapping("/payment/record/{userId}")
    Result<?> getPaymentRecords(@PathVariable("userId") Long userId);
    
    /**
     * 获取账单信息
     * 
     * @param userId 用户ID
     * @return 账单信息
     */
    @GetMapping("/payment/bill/{userId}")
    Result<?> getBillInfo(@PathVariable("userId") Long userId);
} 
